import passport from 'koa-passport'
//本级策略
import LocalStrategy from 'passport-local'
//下面查表的使用
import UserModel from '../../dbs/models/users'


passport.use(new LocalStrategy(async function(username,password,done){
  let where = {
    username
  };
  let result = await UserModel.findOne(where)
  //找账号  
  if(result!=null){
    //如果密码一样
    if(result.password===password){
      //返回result
      return done(null,result)
    }else{
      //没有成功
      return done(null,false,'密码错误')
    }
  }else{
    //如果为空  直接返回出来
    return done(null,false,'用户不存在')
  }
}))
//自动通过session来验证  固定用法  这是序列化
//成功会打进去session  可以通过状态来看
passport.serializeUser(function(user,done){
  done(null,user)
})
//反序列化
passport.deserializeUser(function(user,done){
  return done(null,user)
})

export default passport
